package chars;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.nio.charset.Charset;

public class BufferedReaderTest {

	public static void main(String[] args) throws IOException {
		
		File fod = new File( "GBK-OutputStreamTest2.java" );
		
		if( fod.exists() && fod.isFile() ) {
			
			// 创建一个可以读取指定文件中内容的字节输入流
			InputStream input = new FileInputStream( fod );
			
			Charset charset = Charset.forName( "GBK" );
			// 创建一个以字符为单位读取数据的输入流，同时提供从 字节 到 字符 的转换支持
			Reader reader = new InputStreamReader( input , charset );
			
			// 创建一个带有缓冲功能的字符输入流
			BufferedReader br = new BufferedReader( reader );
			
			String line ; // 声明一个用来保存一行文本数据的变量
			
			// 如果读取到文件末尾则 readLine 方法通常返回 null
			while( ( line = br.readLine() ) != null ) {
				System.out.println( "【 " + line + " 】");
			}
			
			br.close();
			reader.close();
			input.close();
		}

	}

}
